package com.chuangjiangx.member.stored.ddd.domain.model;

import com.chuangjiangx.dddbase.Entity;
import com.chuangjiangx.domain.shared.model.PayTerminal;
import com.chuangjiangx.member.basic.ddd.domain.model.MemberId;
import com.chuangjiangx.member.basic.ddd.domain.model.MerchantId;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author cj-ch
 * @date 2018/4/12 上午11:51
 */
@Getter
public class MbrOrderRefund extends Entity<MbrOrderRefundId> {

    private MbrOrderId mbrOrderId;

    private String mbrRefundNumber;

    private MerchantId merchantId;

    private Long merchantUserId;

    private MemberId memberId;

    private Long storeId;

    private Long storeUserId;

    @Setter
    private MbrOrderRefundStatus status;

    private BigDecimal refundAmount;

    private Date refundTime;

    private PayTerminal terminal;

    public MbrOrderRefund(MbrOrderId mbrOrderId, String mbrRefundNumber, MerchantId merchantId, Long merchantUserId, MemberId memberId, Long storeId, Long storeUserId,
                          MbrOrderRefundStatus status, BigDecimal refundAmount, Date refundTime, PayTerminal terminal) {
        this.mbrOrderId = mbrOrderId;
        this.mbrRefundNumber = mbrRefundNumber;
        this.merchantId = merchantId;
        this.merchantUserId = merchantUserId;
        this.memberId = memberId;
        this.storeId = storeId;
        this.storeUserId = storeUserId;
        this.status = status;
        this.refundAmount = refundAmount;
        this.refundTime = refundTime;
        this.terminal = terminal;
    }
}
